System componentization is a technology of efficiently defining a system as a set of abstract constituent elements with coarser granularity. In general, description of many specific constituent elements with fine granularity is required for configuring a system. However, when overlooking a huge system or a plurality of systems, a plurality of similar constituent elements and groups thereof may come into sight. By defining such a constituent element group as an abstract pattern and reusing the pattern, a group of constituent elements can be concisely described. A pattern of a constituent element group composed of one or more reusably abstracted constituent elements is generally called a component.
By a mechanism of defining a system with a combination of such components, similar but different diverse systems can be quickly and reliably defined merely by changing the combination of the components. For example, a case of defining a system including a virtual machine (hereinafter abbreviated to VM), middleware (hereinafter abbreviated to MW), and an application (hereinafter abbreviated to APP) is considered. At this time, an element required for defining a VM is defined as a VM component, an element required for defining MW is defined as an MW component, and an element required for defining an APP is defined as an APP component, and an entire system is defined by combining the components in such a predefined element group as needed. For example, by replacing only an MW part with a different kind of component, a system differing only in the MW can be redefined with a slight change.
NPL 1 is a standard specification related to a component description for providing such componentization of a system.
In general, there is a limit to possible combinations of components, and a meaningful system definition is not completed unless a proper combination is designated. For example, when the aforementioned APP is operable only on the MW, a meaningful system definition is not completed by directly combining the VM with the APP. By defining a component in conformity with the specification described in NPL 1, a possible combination of components can be suitably described in a unified manner. Further, the combination may be managed and suitability thereof may be verified with a tool conforming to the specification.
Further, NPL 2 is known as a standard specification for defining information required for system deployment by using a combination of components. With respect to a combination of specific components, the specification defines a processing content for substantializing and deploying the combined components and is able to deploy entities of the components by calling the defined processing. The combination of the components may be further combined with another component. At that time, in order to define a processing content for deployment with respect to the new combination, the processing defined for the components being already combined may be reused.